package com.itfreer.power.dao.role;

import java.util.List;

import com.itfreer.form.api.BaseDao;
import com.itfreer.power.entity.role.RoleDataJurisdictionEntity;
import com.itfreer.power.entity.role.RoleEntity;
import com.itfreer.power.entity.role.RoleMapExtentJurisdictionEntity;
import com.itfreer.power.entity.role.RoleMapLayerJurisdictionEntity;
import com.itfreer.power.entity.role.RoleMenuJurisdictionEntity;
import com.itfreer.power.entity.role.RoleServiceJurisdictionEntity;
import com.itfreer.power.entity.user.UserRoleEntity;

/**
 * 定义政区持久化接口
 */
public interface RoleDao extends BaseDao<RoleEntity>{
	
	/**
	 * 删除用户角色关系
	 * @param userId
	 * @param roleId
	 */
	void delUserRole(String userId, String roleId);
	
	/**
	 * 添加用户角色关系
	 * @param userId
	 * @param roleId
	 */
	void addUserRole(String userId, String roleId);
	
	/**
	 * 获取用户与角色关联信息
	 * @param userid
	 * @returns
	 */
	List<UserRoleEntity> getRoles(String userid);
	
	/**
	 * 获取用户与应用服务关联信息
	 * @param roleId
	 * @returns
	 */
	List<RoleServiceJurisdictionEntity> getServices(String roleId);
	
	/**
	 * 获取用户与菜单服务关联信息
	 * @param roleId
	 * @returns
	 */
	List<RoleMenuJurisdictionEntity> getMenus(String roleId);
	
	/**
	 * 获取用户与图层服务关联信息
	 * @param roleId
	 * @returns
	 */
	List<RoleMapLayerJurisdictionEntity> getMapLayers(String roleId);
	
	/**
	 * 获取用户与地图范围服务关联信息
	 * @param roleId
	 * @returns
	 */
	List<RoleMapExtentJurisdictionEntity> getMapExtents(String roleId);
	
	/**
	 * 获取用户与数据服务关联信息
	 * @param roleId
	 * @returns
	 */
	List<RoleDataJurisdictionEntity> getDatas(String roleId);
}
